<?php

namespace App\Http\Controllers\home\lilin;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;
use DB;

class indexcontroller extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index(Request $request)
    {
        $type = $request->input('type','');
        // dd($type);
        if(!empty($type)){
            $data = DB::table('store')
                ->join('store_type','store.id','=','store_type.store_id')
                ->where('store_type.typename','=',$type)
                // ->orWhere('store.id', '>',1)
                // ->orWhere('id','>','1')
                ->paginate(16);
                // dd(22);
        }else{
            $data = DB::table('store')->paginate(16);
            // dump($data);
            // dd(33);
        }
        

        // dd($data);

        return view('home/lilin/list',['data'=>$data,'type'=>$type]);
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create(Request $request)
    {
        // return 1111;
        $store_id = $request->input('id',1);
        // 当前店铺的相关信息
        $data = DB::table('store')
                ->where('id',$store_id)
                ->first();
        // dd($data);
        // 多表联查 当前店铺的菜单分类
       
            $type = DB::table('menu_type')
                ->join('store','menu_type.store_id','=','store.id')
                ->where('store.id','=',$store_id)
                ->select('menu_type_name')
                ->get();

        // 当前店铺的menu_type_id 
                $typeid=DB::table('menu_type')
                    ->where('store_id','=',$store_id)
                    ->select('id')
                    ->get();
        // 当前店铺有几种特色
                $max = count($typeid);


            // 当前店铺 当前类型 所有菜 
                $menu=[];
        for($i=1;$i<=$max;$i++){
            $tmp = DB::table('menu')
                ->where('menu_store_id','=',$store_id)
                ->where('menu_type_id',$typeid[$i-1])
                ->get();
                $menu[]=$tmp;
        }
            
                // dd($menu);
            // 某一类型下有几个菜
            $num = DB::table('menu')
                ->where('menu_type_id','2')
                ->count();
            // dd($num);
        // dd($request->path())  ;   
            $evaluate = DB::table('evaluate')   
                ->where('evaluate_store_id','=',$store_id)
                ->get();

          // 评价人的总数
        $total = count($evaluate); 
        // 评价人为1分的人数
        $e1 = DB::table('evaluate') 
                ->where('evaluate_store_id','=',$store_id)  
                ->where('score','=',1)
                ->count();
        // 评价人为2分的人数
        $e2 = DB::table('evaluate') 
                ->where('evaluate_store_id','=',$store_id)  
                ->where('score','=',2)
                ->count();
        // 评价人为3分的人数
        $e3 = DB::table('evaluate') 
                ->where('evaluate_store_id','=',$store_id)  
                ->where('score','=',3)
                ->count();
        // 评价人为4分的人数
        $e4 = DB::table('evaluate') 
                ->where('evaluate_store_id','=',$store_id)  
                ->where('score','=',4)
                ->count();
        // 评价人为5分的人数
        $e5 = DB::table('evaluate') 
                ->where('evaluate_store_id','=',$store_id)  
                ->where('score','=',5)
                ->count();
        // 总体评分  分数*人数/总人数

        $t_score = (1*$e1+2*$e2+3*$e3+4*$e4+5*$e5)/$total;

        $star = [$total,$e1,$e2,$e3,$e4,$e5,$t_score];
         
        return view('home/lilin/shop',['type'=>$type,'menu'=>$menu,'data'=>$data,'id'=>$store_id,'star'=>$star]);
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        
        
        // $phone = $request->input('phone');

        

       $phone = $request->input('phone');

       $code = mt_rand(100000,999999);

// 发送验证码  start

       //接口类型：互亿无线触发短信接口，支持发送验证码短信、订单通知短信等。
 // 账户注册：请通过该地址开通账户http://sms.ihuyi.com/register.html
 // 注意事项：
 //（1）调试期间，请用默认的模板进行测试，默认模板详见接口文档；
 //（2）请使用 用户名(例如：cf_demo123)及 APIkey来调用接口，APIkey在会员中心可以获取；
 //（3）该代码仅供接入互亿无线短信接口参考使用，客户可根据实际需要自行编写；
 
//开启SESSION
session_start();
 
header("Content-type:text/html; charset=UTF-8");
 
//请求数据到短信接口，检查环境是否 开启 curl init。
function Post($curlPost,$url){
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_HEADER, false);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_NOBODY, true);
        curl_setopt($curl, CURLOPT_POST, true);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost);
        $return_str = curl_exec($curl);
        curl_close($curl);
        return $return_str;
}
 
//将 xml数据转换为数组格式。
function xml_to_array($xml){
    $reg = "/<(\w+)[^-->]*>([\\x00-\\xFF]*)<\\/\\1>/";
    if(preg_match_all($reg, $xml, $matches)){
        $count = count($matches[0]);
        for($i = 0; $i < $count; $i++){
        $subxml= $matches[2][$i];
        $key = $matches[1][$i];
            if(preg_match( $reg, $subxml )){
                $arr[$key] = xml_to_array( $subxml );
            }else{
                $arr[$key] = $subxml;
            }
        }
    }
    return $arr;
}
 
//random() 函数返回随机整数。
function random($length = 6 , $numeric = 0) {
    PHP_VERSION < '4.2.0' && mt_srand((double)microtime() * 1000000);
    if($numeric) {
        $hash = sprintf('%0'.$length.'d', mt_rand(0, pow(10, $length) - 1));
    } else {
        $hash = '';
        $chars = 'ABCDEFGHJKLMNPQRSTUVWXYZ23456789abcdefghjkmnpqrstuvwxyz';
        $max = strlen($chars) - 1;
        for($i = 0; $i < $length; $i++) {
            $hash .= $chars[mt_rand(0, $max)];
        }
    }
    return $hash;
}
//短信接口地址
$target = "http://106.ihuyi.cn/webservice/sms.php?method=Submit";
//获取手机号
$mobile = $phone;
//获取验证码
$send_code = $code;
//生成的随机数
$mobile_code = random(4,1);
if(empty($mobile)){
    exit('手机号码不能为空');
}
//防用户恶意请求
// if(empty($_SESSION['send_code']) or $send_code!=$_SESSION['send_code']){
//     exit('请求超时，请刷新页面后重试');
// }
 
$post_data = "account=C95187201&password=bed366d2709e16dee19d154be80ea83c&mobile=".$mobile."&content=".rawurlencode("您的验证码是：".$send_code."。请不要把验证码泄露给其他人。");
//用户名是登录ihuyi.com账号名（例如：cf_demo123）
//查看密码请登录用户中心->验证码、通知短信->帐户及签名设置->APIKEY
$gets =  xml_to_array(Post($post_data, $target));
// if($gets['SubmitResult']['code']==2){
//     $_SESSION['mobile'] = $mobile;
//     $_SESSION['mobile_code'] = $mobile_code;
// }
// echo $gets['SubmitResult']['msg'];





// 发送验证码  end

        $res = DB::table('user')->where('u_phone',$phone)->first();
        // $res 数组

        
        $res_=[];


        if($res){

            $re = DB::table('user')->where('u_phone',$phone)->update(['code'=>$code]);

            if(!$res['u_name']){

                // session([user=>$res_[0]]);

                echo $res_[0]=$res['u_phone'];

                
            }else{

                // session([user=>$res_[0]]);

                echo $res_[0]=$res['u_name'];

            }
            
        }else{

            $re = DB::table('user')->insert(['code'=>$code,'u_phone'=>$phone]);

             // session([user=>$phone]);

            echo $res_[0]=0;
        }

            // echo json_encode($res);

        
       

    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        $data = DB::table('store')->where('id',$id)->first();

        $evaluate = DB::table('evaluate')   
                ->where('evaluate_store_id','=',$id)
                ->get();

          // 评价人的总数
        $total = count($evaluate); 
        // 评价人为1分的人数
        $e1 = DB::table('evaluate') 
                ->where('evaluate_store_id','=',$id)  
                ->where('score','=',1)
                ->count();
        // 评价人为2分的人数
        $e2 = DB::table('evaluate') 
                ->where('evaluate_store_id','=',$id)  
                ->where('score','=',2)
                ->count();
        // 评价人为3分的人数
        $e3 = DB::table('evaluate') 
                ->where('evaluate_store_id','=',$id)  
                ->where('score','=',3)
                ->count();
        // 评价人为4分的人数
        $e4 = DB::table('evaluate') 
                ->where('evaluate_store_id','=',$id)  
                ->where('score','=',4)
                ->count();
        // 评价人为5分的人数
        $e5 = DB::table('evaluate') 
                ->where('evaluate_store_id','=',$id)  
                ->where('score','=',5)
                ->count();
        // 总体评分  分数*人数/总人数

        $t_score = (1*$e1+2*$e2+3*$e3+4*$e4+5*$e5)/$total;

        $star = [$total,$e1,$e2,$e3,$e4,$e5,$t_score];
        dump($star);

        
        return view('home/lilin/shop',['data'=>$data,'star'=>$star]);
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        // dd($id);
        $data = DB::table('store')
                ->where('id',$id)
                ->first();

        $evaluate_page = DB::table('evaluate')   
                ->where('evaluate_store_id','=',$id)
                ->paginate(10);
                
        $evaluate = DB::table('evaluate')   
                ->where('evaluate_store_id','=',$id)
                ->get();

          // 评价人的总数
        $total = count($evaluate); 
        // 评价人为1分的人数
        $e1 = DB::table('evaluate') 
                ->where('evaluate_store_id','=',$id)  
                ->where('score','=',1)
                ->count();
        // 评价人为2分的人数
        $e2 = DB::table('evaluate') 
                ->where('evaluate_store_id','=',$id)  
                ->where('score','=',2)
                ->count();
        // 评价人为3分的人数
        $e3 = DB::table('evaluate') 
                ->where('evaluate_store_id','=',$id)  
                ->where('score','=',3)
                ->count();
        // 评价人为4分的人数
        $e4 = DB::table('evaluate') 
                ->where('evaluate_store_id','=',$id)  
                ->where('score','=',4)
                ->count();
        // 评价人为5分的人数
        $e5 = DB::table('evaluate') 
                ->where('evaluate_store_id','=',$id)  
                ->where('score','=',5)
                ->count();
        // 总体评分  分数*人数/总人数

        $t_score = (1*$e1+2*$e2+3*$e3+4*$e4+5*$e5)/$total;

        $star = [$total,$e1,$e2,$e3,$e4,$e5,$t_score];

        // dump($star);

        return view('home/lilin/evaluate',['data'=>$data,'id'=>$id,'evaluate_page'=>$evaluate_page,'star'=>$star,'evaluate'=>$evaluate]);

    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
    }
    public function ceshi(Request $request){
        echo $request->input('phone');
    }
}
